package com.mdd.admin.service.order;

import com.mdd.admin.validate.order.*;
import com.mdd.admin.vo.order.OrderClueDetailVo;
import com.mdd.admin.vo.order.OrderClueVo;
import com.mdd.common.base.page.PageValidate;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.order.OrderClue;
import com.mdd.common.validate.IdValidate;
import com.mdd.system.entity.SystemAuthAdmin;
import com.mdd.system.vo.SystemAuthAdminInformVo;
import java.util.List;

/**
 * 订单线索接口类
 * @author LikeAdmin
 */
public interface IOrderClueService {
    PageResult<OrderClueVo> list(PageValidate pageValidate, OrderClueSearchValidate searchValidate, SystemAuthAdminInformVo systemAuthAdmin);


    /**
     * 订单新增
     *
     * @param createValidate 参数
     * @author LikeAdmin
     */
    OrderClueVo add(OrderClueCreateValidate createValidate);
    OrderClueDetailVo detail(IdValidate idValidate);
    void allocation(OrderClueClaimValidate createValidate,SystemAuthAdminInformVo systemAuthAdmin);


    /**
     * 订单编辑
     *
     * @param updateValidate 参数
     * @author LikeAdmin
     */
    void edit(OrderClueUpdateValidate updateValidate);

    /**
     * 更新状态
     * @param updateValidate
     */
    void updateStatus(OrderClueUpdateStatusValidate  updateValidate, SystemAuthAdminInformVo systemAuthAdmin);

    /**
     * 订单删除
     *
     * @param id 订单编号
     * @author LikeAdmin
     */
    void del(Long id);

    void batchInsert(List<OrderClue> orderClueList);

}
